The rapid expansion of information service and data industries has resulted in a need for computer systems to manage and store large amounts of data. As an example, financial service industry businesses such as banks, mutual fund companies or the like often operate large and complex data processing systems that require access to many hundreds of gigabytes or even terabytes of data. Data storage system developers have responded to these types of data storage requirements by integrating large capacity data storage systems, data communications devices and computer systems into networks.
Additionally, data may be collected from older databases (sometimes referred to as legacy or heritage databases). The data from these older databases may be compiled on a centralized data warehouse, or data store, along with the data captured by current processes. A data warehouse is essentially a repository of an organization's electronically stored data. Compiling an organization's data in a centralized data warehouse facilitates reporting and analysis. Reporting can be achieved by writing an application interface that allows data to be extracted from both the heritage databases and the data captured by current processes. The application interface may be updated as additional heritage databases are added to the enterprise warehouse.
As organization grow, there can be a multitude of data storage systems, both current and legacy databases. This can result in a de-centralization of databases that results in unsynchronized replication of data. Organizations need a single version of valid data (a master data store). Within an organization, financial book keeping, customer management, product management, etc. may use different systems and represent data differently, for example, calling the same attribute by different variables and data types. Further, these systems are likely to change independently causing synchronization problems.